package com.ynet.middleground.contract.dto;

import java.io.Serializable;
import java.time.LocalDateTime;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author liulx
 * @description 模板信息传输对象
 * @date 2020-03-25 02:04
 */
@Data
@ApiModel(value = "模板信息传输对象", description = "模板信息传输对象")
public class TemplateDTO implements Serializable {

    private static final long serialVersionUID = -7817191700383235784L;

    /**
     * 模板编号
     */
    @ApiModelProperty(value = "模板编号", notes = "模板编号", dataType = "Integer")
    private Integer id;

    /**
     * 模板名称
     */
    @ApiModelProperty(value = "模板名称", notes = "模板名称", dataType = "String")
    private String name;

    /**
     * 模板类型 0：合同模板、1：协议模板
     */
    @ApiModelProperty(value = "模板类型 0：合同模板、1：协议模板", notes = "模板类型 0：合同模板、1：协议模板", dataType = "String")
    private String type;

    /**
     * 产品类型
     */
    @ApiModelProperty(value = "产品类型", notes = "产品类型", dataType = "String")
    private String productType;

    /**
     * 合约类型
     */
    @ApiModelProperty(value = "合约类型 id", notes = "合约类型 id", dataType = "Integer")
    private Integer contractTypeId;

    /**
     * 合同种类 0：标准合同（制式合同）、1：非标准合同（非制式合同）
     */
    @ApiModelProperty(value = "合同种类 0：标准合同（制式合同）、1：非标准合同（非制式合同）", notes = "合同种类 0：标准合同（制式合同）、1：非标准合同（非制式合同）",
            dataType = "String")
    private String kind;

    /**
     * 模板版本
     */
    @ApiModelProperty(value = "模板版本", notes = "模板版本", dataType = "String")
    private Integer version;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述", notes = "描述", dataType = "String")
    private String description;

    /**
     * 模板文件 OSS 地址
     */
    @ApiModelProperty(value = "模板文件 OSS 短路径地址", notes = "模板文件 OSS 短路径地址", dataType = "String")
    private String content;

    /**
     * 模板状态 0：未启用，1：启用中，2：已启用，3：已停用，4：已过期
     */
    @ApiModelProperty(value = "模板状态 0：未启用，1：启用中，2：已启用，3：已停用，4：已过期", notes = "模板状态 0：未启用，1：启用中，2：已启用，3：已停用，4：已过期",
            dataType = "String")
    private Integer status;

    /**
     * 上一版本编号
     */
    @ApiModelProperty(value = "上一版本编号", notes = "上一版本编号", dataType = "Integer")
    private Integer prevId;

    /**
     * 签章数量
     */
    @ApiModelProperty(value = "签章数量", notes = "签章数量", dataType = "Integer")
    private Integer signatureNumber;

    /**
     * 启用时间
     */
    @ApiModelProperty(value = "启用时间", notes = "启用时间", dataType = "Date")
    private LocalDateTime gmtActive;

    /**
     * 停用时间
     */
    @ApiModelProperty(value = "停用时间", notes = "停用时间", dataType = "Date")
    private LocalDateTime gmtInactive;

    /**
     * 是否删除 1：删除，0：未删除 默认 0
     */
    @ApiModelProperty(value = "是否删除 1：删除，0：未删除 默认 0", notes = "是否删除 1：删除，0：未删除 默认 0", dataType = "String")
    private Boolean isDeleted;

    /**
     * 业态
     */
    @ApiModelProperty(value = "业态", notes = "业态", dataType = "String")
    private String formatId;

    /**
     * 渠道
     */
    @ApiModelProperty(value = "渠道", notes = "渠道", dataType = "String")
    private String channel;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", notes = "创建时间", dataType = "Date")
    private LocalDateTime gmtCreate;

    /**
     * 创建者
     */
    @ApiModelProperty(value = "创建者", notes = "创建者", dataType = "Integer")
    private Integer createBy;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间", notes = "更新时间", dataType = "Date")
    private LocalDateTime gmtModified;

    /**
     * 更新者
     */
    @ApiModelProperty(value = "更新者", notes = "更新者", dataType = "Integer")
    private Integer modifiedBy;

}
